package edu.mis.modules.good;

import java.util.List;

import com.jfinal.plugin.activerecord.Record;

import edu.mis.model.Blog;
import edu.mis.model.Good;


/**
 * 商品服务类
 *
 */
public class GoodService {
	
	/**
	 * 增加商品
	 * @param good
	 * @return
	 */
	public boolean register(Good good){
		if(good.findGoodByName(good.getName())==null){ //此处为业务逻辑，写在service里，不要写在model里。判断是否商品名重复，
			return good.save();
		}else{
			return false;
		}
		
	}
	
	/**
	 * 修改密码
	 * @param user
	 * @return
	 */
	/**public boolean updatePassword(int id,String newPassword){
		User user = findUserById(id);
		user.setPassword(newPassword);
		return user.update();
	}
	*/
	
	/**
	 * 登录校验
	 * @param name
	 * @param password
	 * 判断密码是否正确属于业务逻辑，应写在service中，尽管写在dao中和controller都能实现。
	 * dao中写基本的增删改查即可。dao中findUserByName可复用，不针对任何功能；
	 * controller仅仅建立模型（此处指service的loginValidate）和视图（此处指index.html,login.html）关系
	 */
	/**public boolean loginValidate(String name, String password){
		if(password.equals(User.dao.findUserByName(name).getPassword()))  
			return true; 
		else
			return false;
	}
	
	/**
	 * 根据ID得到商品
	 * @param id
	 * @return
	 */
	public Good findGoodById(int id) {
		return Good.dao.findById(id);
	}
	
	/**
	 * 查询所有商品
	 * @return
	 */
	public List<Good> findAllGood(){
		return Good.dao.findAll();
	}
	/**
	 * 查询所有商品及其类别
	 * @return
	 */
	public List<Record> findAllGoodWithCategory(){
		return Good.dao.findAllRecord();
	}

	/**
	 * 商品分类
	 * @param id
	 * @param categoryId
	 * @return
	 */
	public boolean goodAuthorize(int id, int categoryId) {
		Good good = findGoodById(id);
		good.setCategoryId(categoryId);
		return good.update();
	}

	/**
	 * 删除日志
	 * @param id
	 * @return
	 */
	public boolean deleteGoodById(int id) {
		return Good.dao.deleteById(id);
	}
	
}
